Method for selecting standby controller in satellite network

By selecting the spare controller in advance for the switch in the satellite network, the problem of frequent changes in the matching relationship between the switch and the backup controller in the satellite network, and realize the stable operation and efficient calculation of the network when the controller fails.

CN119382764APending Publication Date: 2025-01-28CHANGCHUN UNIV OF SCI & TECH
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411414287.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In satellite networks, due to the relative motion between satellites, the matching relationship between the switch and the backup controller needs to be frequently re-planned, which consumes a lot of computing power, and the selection speed of the backup controller cannot keep up with the speed of network topology changes, resulting in network failure. The backup controller cannot be selected in time.

Method used

By determining the main controller of the switch, the initialization dictionary and collection, judging network topology changes, traversal relationship matrix, network topology, simulation anneal algorithm and other steps are used to select the spare controller for the switch to ensure the stable operation of the network.

Benefits of technology

When the controller fails, the switch can move to other normal controllers in time to ensure the stable operation of the network. By optimizing the simulation annealing mechanism, the speed of solving of multiple target optimization problems has been improved. Delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119382764A_ABST
    Figure CN119382764A_ABST
Patent Text Reader

Abstract

The invention discloses a method for selecting a standby controller in a satellite network, relates to the technical field of satellite network management, and solves the problems that the matching relationship between a switch and the standby controller needs to be re-planned in each time slot due to relative movement between satellites in the prior art, so that a large amount of computing power is consumed, and the reliability is high. And the selection speed of the standby controller cannot reach the network topology change speed, so that the standby controller cannot be selected in time when the network has a fault. According to the method, the standby controller which should be connected after the controller MEO breaks down is selected for the switch LEO in advance, so that it is guaranteed that when a certain MEO breaks down, the LEO managed by the MEO can be migrated to other normal MEOs in time, and stable operation of a network is guaranteed. When the standby controller is selected, the problem of cross-domain flow request is also considered in addition to the traditional optimization objectives of time delay between the controller and the switch and controller load balance, so that the load of the controller is further reduced and the network time delay is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of satellite network management, and in particular to a method for selecting a standby controller for a switch when a controller fails in a satellite network, for solving the problem of switch control interruption caused by a controller failure in a satellite network. Background Art

[0002] Satellite networks have the characteristics of global coverage, long communication distance, and reliable transmission. They play an indispensable role in providing continuous access services in oceans, deserts, and remote areas, and are a hot research topic at home and abroad. Although many studies on satellite networks have been proposed, few consider the situation of controller failure. In fact, the distance of satellites from the earth, high maintenance costs, highly dynamic changes, and the harsh space environment in which satellite nodes operate pose great challenges to the normal operation of satellite nodes. Once a controller fails, the switch will not receive instructions from the controller, resulting in packet loss and failure of the link, which will cause network operation failure. Therefore, in order to ensure uninterrupted control of the satellite network, it is necessary to plan the backup controller connected to the switch in advance.

[0003] Most of the existing research on controller failures is focused on ground networks. By considering factors such as controller load and the delay between the controller and the switch, the matching relationship between the switch and the backup (slave) controller is planned in advance to solve the failure problem. However, compared with the ground network, the satellite network is a dynamic and time-varying network. The relative movement between satellites causes the matching relationship between the switch and the backup controller to be replanned in each time slot, which consumes a lot of computing power and causes the selection speed of the backup controller to lag behind the speed of network topology changes. Therefore, it is necessary to design a more efficient method to select backup controllers for switches in satellite networks. Summary of the invention

[0004] The present invention aims to solve the problem in the prior art that the matching relationship between the switch and the backup controller needs to be re-planned in each time slot due to the relative movement between satellites, which consumes a lot of computing power and causes the selection speed of the backup controller to fail to keep up with the speed of network topology changes, thereby resulting in the inability to select the backup controller in time when a network failure occurs; and provides a method for selecting a backup controller in a satellite network.

[0005] A method for selecting a backup controller in a satellite network, the method being implemented by the following steps:

[0006] The method determines the backup controller when the main controller of the switch has been determined, and is specifically implemented by the following steps:

[0007] Step 1: Initialize dictionary R' and set S', set network topology G(S,E,t) at time t, network topology G(S,E,t+1) at time t+1, and relationship matrix R at time t+1 t+1 ; Where S is the set of switches, and E is the set of communication links between the GEO controller and the MEO controller and between the MEO controller and the switch;

[0008] Step 2: Determine whether the network topology G(S,E,t+1) at time t+1 has changed from the network topology G(S,E,t) at time t. If so, all switches in the overlapping domains will change. By computing the relationship matrix CC t+1 Take the union of each element in to obtain the set S' and execute step 3; otherwise, use the relationship matrix CC at time t+1 t+1 The relationship matrix CC at time t t Perform difference calculation to find the changed switches, build the switch set S', and execute step 3;

[0009] Step 3: Traverse each switch s in the set S' k , initialize the matrix X[n][m], traverse the relationship matrix R t+1 In the kth row of If |X[k]| is greater than or equal to 2, the corresponding relationship (k, X) between the switch and the controller is added to the dictionary R'.

[0010] Step 4: Select a backup controller for the switches in the dictionary R'. The specific process is as follows:

[0011] Step S41, traverse each controller c in the controller set C p , set the current controller c p Failure occurs, update R t+1 All the elements in the pth column are 0, and c is deleted from the network topology SG(S,E,t+1). p With C p The connections of all switches in form a new network topology G'(S,E,t+1);

[0012] Step S42: Initialize the current temperature T and the final temperature T f , cooling factor θ, iteration counter l, local timer lc, local timer maximum l max , threshold LC, global timer gc, global timer maximum value GC and matrix opt for storing the optimal backup controller allocation scheme when a controller fails;

[0013] Step S43: If the current temperature T is greater than the final temperature T f, execute step S44; otherwise, execute step S413;

[0014] Step S44: If the local timer lc is less than the threshold LC and the iteration counter l is less than l max , then execute step S45, otherwise execute step S410;

[0015] Step S45, initializing matrix I'=null; randomly assigning standby controllers to switches in dictionary R' to form allocation strategy matrix I; calculating target value F(I) of allocation strategy matrix I, calculating target value F(I') of matrix I', and calculating increment Δ=F(I)-F(I');

[0016] Step S46: If Δ<0, execute step S47; otherwise, generate a random number δ and execute step S48;

[0017] Step S47, use matrix I' to record the allocation strategy matrix I and reset lc to 0, and execute step S49;

[0018] Step S48, if δ≤P, execute step S47; otherwise, assign lc+1 to lc, and execute step S49;

[0019] Step S49, assign l+1 to l, and return to execute step S44;

[0020] Step S410, use opt to record the optimal solution generated by the local loop. If the target value F(I') is less than F(opt), then opt = I' and reset gc to 0, and execute step S411; otherwise, assign gc+1 to gc, and execute step S411;

[0021] Step S411, lowering the temperature T by the formula T=θT;

[0022] Step S412: If gc is greater than or equal to the product of the current temperature T and GC, assign 0 to T and execute step S43; otherwise, execute step S413;

[0023] Step S413: modify R according to opt t+1 , output controller c p Relationship matrix R for optimal backup controller selection during failure t+1 .

[0024] Beneficial effects of the present invention:

[0025] The method of the present invention selects in advance a backup controller for the switch LEO to be connected after the controller MEO fails, so as to ensure that when a certain MEO fails, the LEO managed by it can be promptly migrated to other normal MEOs to ensure the stable operation of the network. When selecting a backup controller, in addition to considering the delay between the controller and the switch, and the traditional optimization goals such as controller load balancing, the present invention also considers the cross-domain flow request problem, and converts the cross-domain flow request into the intra-domain flow request as much as possible, thereby further reducing the controller load and reducing the network delay.

[0026] The method of the present invention improves the simulated annealing mechanism to speed up the solution of multi-objective optimization problems. Taking into account the time-varying characteristics of the satellite network topology, when the topology changes, a backup controller is selected for all switches in the cross-region covered by the controller; when the topology does not change, only the switches that have changed in the cross-region are reselected, thereby effectively improving the calculation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 A schematic diagram of a three-layer satellite network architecture based on SDN in a method for selecting a backup controller in a satellite network according to the present invention;

[0028] Figure 2 A flowchart for selecting a switch with multiple optional backup controllers;

[0029] Figure 3 Flowchart for selecting the best backup controller for switches in dictionary R';

[0030] Figure 4 This is the average delay effect diagram of the three solutions when dual controllers fail;

[0031] Figure 5 The load variance effect diagram of the three schemes when dual controllers fail;

[0032] Figure 6 This is the total cost effect diagram of the three solutions when dual controllers fail. DETAILED DESCRIPTION

[0033] Specific implementation method 1. Combination Figures 1 to 6 The present embodiment describes a method for selecting a backup controller in a satellite network, which is implemented based on a three-layer satellite network architecture of SDN. Figure 1 As shown in the figure, in this architecture, GEO satellite is the high orbit controller, MEO satellite is the controller, and LEO satellite is the switch. This architecture can fully integrate the characteristics of satellites in each orbit layer, making the entire satellite networking architecture more flexible.

[0034] Assuming the current time is t, the goal of the present invention is to find the backup controller of LEO at time t+1. In order to simplify the description of the solution process, the following data structure needs to be defined:

[0035] Set H = {h0,h1,…,h i ,…,h p-1}, used to represent the collection of GEO controllers, h i represents the i-th GEO high orbit controller, and p is the total number of GEO controllers.

[0036] Set C = {c0,c1,…,c i ,…,c m-1}, used to represent the collection of MEO controllers, c i represents the i-th MEO controller, and m is the total number of MEO controllers.

[0037] Set S = {s0,s1,…,s i ,…,s n-1}, used to represent a set of switches, s i represents the i-th switch, and n is the total number of switches.

[0038] Set C'={C0,C1,…,C i ,…,C m-1}, C i represents the i-th control domain, which is a set of MEO controllers c i The switch components for management and control.

[0039] Using the m-order relationship matrix CC t Describes the overlapping area covered by the controller at time t.

[0040]

[0041] Among them, the element is a set of switches, which represents the control domain C at time t i and control domain C j Intersection, that is Since the intersection operator is commutative, CC t is a symmetric matrix.

[0042] Due to the predictability of satellite network topology, the controller coverage intersection area at each moment is known, that is, the relationship matrix CC at time t+1 can be obtained at time t t+1 .

[0043] Using n×m order relationship matrix R t Describe the relationship between the switch and the controller at time t.

[0044]

[0045] Among them, the element represents the switch s at time t i With controller c j The relationship between j ∈C. Its value range is {0,1,2}, 0 means switch s i and controller c j There is no connection between them; 1 indicates that the controller c j It is a switch i The main controller; 2 represents the controller c j It is a switch i A backup controller.

[0046] The method described in this embodiment is to determine the backup controller when the main controller of the switch has been determined, that is, R t+1 The element with a median value of 1 has been determined. On this basis, we first need to calculate the t+1 The matrix determines the candidate backup controller for the switch. The process is as follows:

[0047] Traverse CC t+1 Each element in the matrix Traverse again Each switch in k , where s k ∈S; if If not equal to 1, Assign a value of 2 and process the elements in the same way That is: switch s at time t+1 k With controller c j The relationship value. represents switch s at time t+1 k With controller c i The relationship between, where 0 represents switch s k and controller c i There is no connection between them; 1 indicates that the controller c i It is a switch k The main controller; 2 represents the controller c i It is a switch k A backup controller.

[0048] Update R t+1 After the matrix is ​​formed, it is necessary to further identify which switches have multiple candidate backup controllers and record them in the dictionary R', because only these switches need to select a backup controller. The specific process is as follows:

[0049] Step 1: Input the network topology G(S,E,t) at time t, the network topology G(S,E,t+1) at time t+1, and the relationship matrix R at time t+1 into the simulated annealing algorithm. t+1 , initialize dictionary R' and set S';

[0050] The network topology G(S,E,t) represents the network topology between the GEO controller and the MEO controller, and the MEO controller and the switch at time t, where S is the set of switches and E is the set of communication links between these devices, including the matrix and matrix Y t+1 Indicates the connection between the GEO controller and the MEO controller, X t+1 Indicates the connection between the MEO controller and the switch.

[0051] Step 2: Compare G(S,E,t+1) with G(S,E,t) to determine whether the network topology has changed at time t+1.

[0052] If the network topology at time t+1 changes compared to the previous time, all switches in the overlapping area will change. t+1 Take the union of each element in to solve the set S'. It is expressed as follows:

[0053]

[0054] If the network topology at time t+1 has not changed compared to the previous time, only the switches in the partially overlapping areas will change. t+1 Matrix and CC at the previous moment t The matrix is ​​interpolated to find the switches that have changed, so the set S' is represented as follows:

[0055]

[0056] Step 3: Traverse each switch s in S' k , initialize the matrix X[n][m], traverse the relationship matrix R t+1 In the kth row of If |X[k]| is greater than or equal to 2, the corresponding relationship (k, X) between the switch and the controller is added to the dictionary R'.

[0057] The following steps are to select a backup controller for the switch in R':

[0058] Step 4: Traverse each controller c in the controller set C p , assuming that the current controller c p Failure occurs, update R t+1 All the elements in the pth column are 0, and c is deleted from the network topology G(S,E,t+1). p With C p The connections of all switches in form a new network topology G'(S,E,t+1).

[0059] Step 5: Initialize T=20, T f =0.01, θ=0.99, l=1, gc=0, lc=0, l max =100, LC=20, GC=20, opt=null, where T represents the current temperature, T f represents the final temperature, θ represents the cooling factor, l represents the iteration counter, lc represents the local timer, l max is the local timer maximum value, LC is the threshold, gc represents the global timer, GC is the global timer maximum value, and opt is used to store the matrix of the optimal backup controller allocation scheme when a controller fails.

[0060] Step 6: If the current temperature T is greater than the final temperature T f , go to step 7, otherwise go to step 17.

[0061] Step 7: Determine whether the local timer lc exceeds the threshold LC, and check whether the iteration counter l has reached the maximum value l max , if lc is less than LC and l is less than l max , proceed to step eight, otherwise proceed to step six.

[0062] Step 8: Initialize the matrix l'=null and traverse C p Each switch in q , obtain the set corresponding to q from R', randomly select a value from it as the serial number bc of the main controller, update the switch and controller allocation strategy matrix I according to the corresponding relationship between the switch and the main controller (q, bc), and further modify the network topology G'(S, E, t+1) according to I, that is, restore the connection between the controller and the switch in I in G'(S, E, t+1) to form a new network topology G" (S, E, t+1), and finally calculate the target value F(I) of I based on G" (S, E, t+1), the formula is as follows:

[0063]

[0064] The target value F(I) is composed of the network delay and the load variance of all controllers, where D t+1 Represents the total network latency cost, including intra-domain flow request time, switch migration time, and controller information synchronization time; Represents load variance, which is used to measure load balancing. Weight coefficients α and β satisfy α+β=1.

[0065] Set the constraints as:

[0066]

[0067] σ <m(3)

[0068]

[0069] In the formula, h w represents the wth GEO controller, c v represents the vth MEO controller, s u represents the u-th switch; σ is used to record the number of controller failures, Indicates switches u The number of stream requests at time t;

[0070] Constraint (1) indicates that a switch can only be controlled by one MEO controller, and a MEO controller can only be controlled by one GEO controller. Constraint (2) ensures that the controller matched to the switch is in normal working state. Constraint (3) indicates that the number of faulty controllers must be less than the total number of controllers. Constraint (4) ensures that the controller c j Capable of handling the total traffic requests sent by the switch connected to it. j is the maximum processing capability of the controller.

[0071] When I = null, F(I) = +∞;

[0072] in and They represent the connection relationship between the GEO controller and the MEO controller and between the MEO controller and the switch in G” at time t+1. There are only two types of connection relationships between nodes, “0” means no connection and 1 means connection. The connection relationship between nodes is as follows:

[0073]

[0074] In this implementation, the total network delay cost D t+1 The calculation process is as follows:

[0075] When a switch receives a new flow request, it needs to consider whether the source switch and the destination switch on the flow request path belong to the same control domain. The values ​​in the matrix X can be used to determine whether they are in the same control domain, and a coefficient is defined To indicate whether there is a cross-domain flow, When the value is 1, it indicates that cross-domain flow is generated; when the value is 0, it indicates that no cross-domain flow is generated.

[0076] Source switch S s and the destination switch S d Respectively with the controller c i 、c j Connection, if in matrix X And i=j, then the source switch and the destination switch belong to c j At this time, no cross-domain flow is generated. The switch only needs to send a packet-in message to the MEO controller once, and then the controller sends an installation rule message F to the switch on the flow path within the domain. rule ,so The value is 1.

[0077] If in the matrix X But if i≠j, the source switch and the destination switch belong to different control domains. In addition to the above process, there is also a cross-domain flow request process, and the MEO controller needs to send a cross-domain flow request message to the GEO controller, so The value is 0.

[0078] The flow request time cost is as follows:

[0079]

[0080] in, is the distance between satellite nodes u and v at time t+1; r is the link transmission rate; r C is the propagation speed of light; F packet F is a packet-in message; rule Flow table rule message.

[0081] When a controller fails, the switches in its control domain will send switch migration messages to their respective standby controllers. migra After the standby controller responds to this message, the switch migrates to its own standby controller domain. The switch migration time is calculated as follows:

[0082]

[0083] Each controller collects the network information F sync The GEO controllers will synchronize the information they have received, and finally send the global network information they have received to the controllers, so that the controllers can obtain the global network information and achieve information synchronization. The controller information synchronization time calculation formula is as follows:

[0084]

[0085] The total network delay cost is composed of the cross-domain flow request time, switch migration time, and controller information synchronization time. The formula is as follows:

[0086]

[0087] In this embodiment, the load variance at time t+1 is The calculation process is as follows:

[0088] Calculate the backup controller c at time t v Total load It includes controller c v The load of the original switch and some controller failures cause the load of the switch to be migrated.

[0089]

[0090] In the formula, Indicates switches u The number of flow requests at time t, σ is used to record the number of controller failures, and m represents the total number of controllers.

[0091] By traversing the matrix R t The jth column of v All switches of the controller c are loaded and the loads of these switches are accumulated to the controller c v This ensures accurate load adjustment during the migration process, and finally obtains the controller c v of the total load.

[0092] The load variance is calculated similarly according to the variance calculation formula.

[0093]

[0094] Step 9: Calculate the target value F(I') of the matrix I', and then calculate the increment Δ=F(I)-F(I').

[0095] Step 10: If Δ<0, use I' to record the current allocation strategy matrix I and reset lc to 0, and execute step 13; otherwise, execute step 11.

[0096] Step 11: Generate a random number δ∈(0,1) and the probability P of accepting a new solution. The calculation formula of P is as follows, where T represents the current temperature;

[0097]

[0098] Step 12: If δ≤P, use I' to record the current allocation strategy matrix I and reset lc to 0; otherwise, assign lc+1 to lc and execute step 13;

[0099] Step 13: Assign l+1 to l and execute step 7.

[0100] Step 14: Use opt to record the optimal allocation strategy I' generated by the local loop. If F(I') is less than F(opt), let opt ​​= I' and reset gc to 0, otherwise assign gc+1 to gc.

[0101] Step 15: Cool down the temperature T by using the formula T=θT.

[0102] Step 16: If gc is greater than or equal to the product of the current temperature T and GC, assign 0 to T and execute step 6; otherwise, execute step 17.

[0103] Step 17: Modify R according to opt t+1 , that is, traverse opt, if opt[q][bc]=1, Set the value of to 1 and proceed to step 4.

[0104] Step 18: Traverse each keyword k in R', from R t+1 Get the kth row, the column index with a value of 1 in this row is the switch s k The optimal backup controller number at time t+1.

[0105] Specific implementation method 2: Combination Figures 4 to 6 This embodiment is described below. This embodiment is an example of a method for selecting a backup controller in a satellite network described in the first embodiment.

[0106] The method of the present invention is compared with a dynamic controller placement problem (DCPP) and a lower-bound aware greedy weighted bipartite B-Matching (LA-GWBM).

[0107] DCPP sets a fault tolerance cost. When a controller fails, the switch will be assigned to other controllers that are working normally, resulting in increased latency. In order to quantify the fault tolerance of the network, DCPP takes the average maximum latency between switches in each domain as the optimization target.

[0108] LA-GWBM proposes a master and slave controller assignment model for multi-controller failures. The average expected delay, the worst expected delay, and the expected number of switches within the delay range are defined as optimization objectives, and a greedy method based on weighted bipartite matching is introduced to solve it.

[0109] In the controller failure simulation experiment, the method of the present invention is compared with the DCPP and LA-GWBM schemes under the condition of dual controller failure in different time slots. The simulation results show that the present invention is superior to the other two schemes in terms of average delay, load and total cost.

[0110] like Figure 4 As shown, the present invention outperforms the other two schemes in terms of average delay, among which the LA-GWBM scheme has a poor delay effect. This is because the LA-GWBM scheme only considers the migration cost of the switch when constructing the optimization model. Although this strategy can reduce the migration delay, it ignores other important delay costs in the network. There are cross-domain flows in the simulated network in time slots 2 to 12. At this time, the present invention performs best in terms of delay effect because it further considers the cross-domain flow request delay cost on the basis of the DCPP and LA-GWBM schemes. The cross-domain flow request delay cost accounts for a considerable proportion of the total delay cost. Therefore, optimizing this part of the delay is crucial to improving the overall network performance.

[0111] like Figure 5 As shown, in different time slots, the load balancing effect of the present invention is always better than the other two schemes, among which the load balancing of the DCPP scheme is the worst, and as the number of faulty controllers increases, the advantage of this scheme becomes more obvious. This is because the LA-GWBM scheme only considers the number of switches connected to the controller when constructing the controller load model, ignoring the imbalance of the load of each switch, while the DCPP scheme only uses the load as a constraint when constructing the optimization target. When dividing the domain, it only needs to not exceed the controller load threshold, and does not fully consider the load balancing. The present invention takes load balancing as one of the constraint targets, thereby avoiding the above problems.

[0112] In the simulation experiment, the total cost of the present invention and the other two solutions under the condition of dual controller failure was compared. The total cost is the multi-objective optimization function The weighted sum of the total delay and load variance calculated in . In order to eliminate the dimensional difference between the total delay and the load variance and the influence of the balanced delay and load value on the matching result, the weight coefficients α and β are set to 0.9997 and 0.0003 respectively through multiple attempts and comparisons. Figure 6 As shown, the total cost of the present invention is substantially better than the other two methods, and the results are relatively stable. This shows that the present invention can effectively reduce network latency, improve load balancing between controllers and network stability in a multi-controller failure scenario.

[0113] Comparative experiments show that the present invention has the best effect under all three indicators. This is because when selecting a backup controller for a switch, the present invention not only considers the delay between the backup controller and the switch and the load balance of the controller, but also considers the cross-domain flow request problem. By converting cross-domain flow requests into intra-domain flow requests as much as possible, the present invention effectively reduces the controller load and reduces network delay.

[0114] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0115] The above-mentioned embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.

Claims

1. A method for selecting a backup controller in a satellite network, characterized in that: The method determines the backup controller when the main controller of the switch has been determined, and is specifically implemented by the following steps: Step 1: Initialize dictionary R' and set S', set network topology G(S, E, t) at time t, network topology G(S, E, t+1) at time t+1, and relationship matrix R at time t+1 t+1 ; Where S is the set of switches, and E is the set of communication links between the GEO controller and the MEO controller and between the MEO controller and the switch; Step 2: Determine whether the network topology G(S, E, t+1) at time t+1 has changed from the network topology G(S, E, t) at time t. If so, all switches in the overlapping domains will change. By computing the relationship matrix CC t+1 Take the union of each element in to obtain the set S′ and execute step 3; otherwise, use the relationship matrix CC at time t+1 t+1 The relationship matrix CC at time t t Perform difference operation to find the changed switches, build the switch set S′, and execute step 3; Step 3: Traverse each switch s in the set S′ k , initialize the matrix X[n][m], traverse the relationship matrix R t+1 In the kth row of If |X[k]| is greater than or equal to 2, the corresponding relationship (k, X) between the switch and the controller is added to the dictionary R′. Step 4: Select a backup controller for the switch in the dictionary R′. The specific process is as follows: Step S41, traverse each controller c in the controller set C p , set the current controller c p Failure occurs, update R t+1 All the elements in the pth column are 0, and c is deleted from the network topology G(S, E, t+1). p With C p The connections of all switches in form a new network topology G′(S, E, t+1); Step S42: Initialize the current temperature T and the final temperature T f , cooling factor θ, iteration counter l, local timer lc, local timer maximum l max , threshold LC, global timer gc, global timer maximum value GC and matrix opt for storing the optimal backup controller allocation scheme when a controller fails; Step S43: If the current temperature T is greater than the final temperature T f , execute step S44; otherwise, execute step S413; Step S44: If the local timer lc is less than the threshold LC and the iteration counter l is less than l max , then execute step S45, otherwise execute step S410; Step S45, initialize matrix I'=null; randomly assign standby controllers to switches in dictionary R' to form allocation strategy matrix I; calculate target value F(I) of allocation strategy matrix I, calculate target value F(I') of matrix I', and calculate increment Δ=F(I)-F(I'); Step S46: If Δ<0, execute step S47; otherwise, generate a random number δ and execute step S48; Step S47, use matrix I' to record the allocation strategy matrix I and reset lc to 0, and execute step S49; Step S48, if δ≤P, execute step S47; otherwise, assign lc+1 to lc, and execute step S49; Step S49, assign l+1 to l, and return to execute step S44; Step S410, use opt to record the optimal solution generated by the local loop. If the target value F(I′) is less than F(opt), then opt=I′ and reset gc to 0, and execute step S411; otherwise, assign gc+1 to gc, and execute step S411; Step S411, lowering the temperature T by the formula T=θT; Step S412: If gc is greater than or equal to the product of the current temperature T and GC, assign 0 to T and execute step S43; otherwise, execute step S413; Step S413: modify R according to opt t+1 , output controller c p Relationship matrix R for optimal backup controller selection during failure t+1 .

2. The method for selecting a backup controller in a satellite network according to claim 1, characterized in that: In step 1, define the following data structure: Set H = {h0, h1, ..., h i ,...,h p-1 }, used to represent the collection of GEO controllers, h i represents the i-th GEO controller, p is the total number of GEO controllers; Set C = {c0, c1, ..., c i ,...,c m-1 }, used to represent the collection of MEO controllers, c i represents the i-th MEO controller, m is the total number of MEO controllers; Set S = {s0, s1, ..., s i ,...,s n-1 }, used to represent a set of switches, s i represents the i-th switch, n is the total number of switches; Set C′={C0,C1,...,C i ,...,C m-1 }, C i represents the i-th control domain, which is a set of MEO controllers c i The switch components for management and control.

3. The method for selecting a backup controller in a satellite network according to claim 1, characterized in that: In step 2, the m-order relationship matrix CC is used t Describes the intersection area covered by the controller at time t; Among them, the element Represents the control domain C at time t i and control domain C j Intersection, at time t, we can get the relationship matrix CC at time t+1 t+1 ; Using n×m order relationship matrix R t Describe the relationship between the switch and the controller at time t; according to the relationship matrix CC t+1 Determine the candidate backup controller for the switch and update the relationship matrix R t+1 ; Among them, the element represents the switch s at time t i With controller c j The relationship between j ∈C; its value range is {0, 1, 2}, 0 represents switch s i and controller c j There is no connection between them; 1 indicates that the controller c j It is a switch i The main controller; 2 represents the controller c j It is a switch i A backup controller.

4. The method for selecting a backup controller in a satellite network according to claim 1, characterized in that: The specific process of step S45 is: Traversing C p Each switch in q , obtain the set corresponding to q from the dictionary R′, randomly select a value from it as the serial number bc of the main controller, update the allocation strategy matrix I of the switch and the controller according to the corresponding relationship (q, bc) between the switch and the main controller, and modify the network topology G′(S, E, t+1) according to the allocation strategy matrix I, that is, restore the connection between the controller and the switch in the allocation strategy matrix I in G′(S, E, t+1) to form a new network topology G″(S, E, t+1), and calculate the target value F(I) of the allocation strategy matrix I, the formula is as follows: Where D t+1 is the total network latency cost, including intra-domain flow request time, switch migration time, and controller information synchronization time; is the load variance; The weight coefficients α and β satisfy α+β=1.

5. The method for selecting a backup controller in a satellite network according to claim 4, characterized in that: The constraint conditions set for the target value are: σ<m (3) Constraint (1) indicates that a switch can only be controlled by one MEO controller, and a MEO controller can only be controlled by one GEO controller; Constraint (2) ensures that the controller matched to the switch is in normal working state; Constraint (3) indicates that the number of faulty controllers must be less than the total number of controllers; Constraint (4) ensures that the controller c j Capable of handling the total traffic requests sent by the switch to which it is connected; Among them, U j is the maximum processing capacity of the controller; When I = null, F(I) = +∞; in, and They represent the connection relationship between the GEO controller and the MEO controller and between the MEO controller and the switch in the network topology G" at time t+1 respectively; the connection relationship between the nodes is as follows:

6. The method for selecting a backup controller in a satellite network according to claim 4, characterized in that: Total network delay cost D t+1 The calculation process is as follows: When a switch receives a new flow request, it determines whether the source switch and the destination switch on the flow request path are located in the same control domain by using the value in the matrix X, and defines the coefficients Indicates whether a cross-domain flow is generated. When the value is 1, it indicates that cross-domain flow is generated, and when the value is 0, it indicates that no cross-domain flow is generated; Source switch S s and the destination switch S d Respectively with the controller c i 、c j Connection, if in matrix X And i=j, then the source switch and the destination switch belong to c j In the control domain of the management and control, no cross-domain flow is generated at this time. The switch sends a packet-in message to the MEO controller, and the controller sends an installation rule message F to the switch on the flow path in the domain. rule ,at this time The value is 1; If in the matrix X But if i≠j, the source switch and the destination switch belong to different control domains, and the MEO controller needs to send a cross-domain flow request message to the GEO controller. The value is 0.

7. The method for selecting a backup controller in a satellite network according to claim 4, characterized in that: Load variance at time t+1 The calculation process is as follows: First, calculate the standby controller c at time t v Total load Including controller c v The load of the original switch and the load of the switch to be migrated due to the failure of some controllers; In the formula, Indicates switches u The number of flow requests at time t, σ is used to record the number of controller failures, and m represents the total number of controllers; Then, by traversing the matrix R t The jth column of v All switches of the controller c are added to the load of the switch. v The total load of the controller c is finally obtained. v The total load is expressed as:

Citation Information

Cited By

  • Satellite selection method, device and equipment for low-orbit satellite positioning and medium

    CN121878732A