1 Introduction

The current trend toward the migration to all IP-based services opens new opportunities to Low Earth Orbit (LEO) satellite systems. LEO satellite networks can provide the capability to cover a wide range of area. Moreover, it can meet the requirements of low end-to-end delay and high bandwidth [1]. So transmitting data via satellite links has attracted world-wide attention. Designing a flexible, reliable and efficient routing algorithm is a big challenge to the LEO satellite networks.

The density of satellite user distribution varies widely over the globe due to the difference of terrain, climate, technological development and economic prosperity. Indeed, satellites serving urban areas dense with users will be busier than satellites covering rural areas [2], and satellites that cover the northern hemisphere with a lot of hot spots are more likely to be congested than those in the southern hemisphere [3]. This user density variations as well as the highly dynamic motion of LEO satellites produce a result that some inter-satellite links (ISLs) are congested while others are unused. If there is no effective routing strategy to cope with the unbalanced distribution of traffic load over the whole networks, this will result in an inefficient resource utilization.

A number of routing schemes have been proposed up to now for efficient load balancing over the satellite networks. According to the place where the routing is performed, there are three main strategies to realize load balancing: central, source-based and distributed load balancing schemes [4]. The main idea for distributed schemes is that every satellite in the networks decides on the best next hop to forward the packet independently. So compared with the centralized and source-based load balancing schemes, the distributed load balancing schemes can provide fast reaction to traffic changes. The methods proposed in Ref. [4,5,6] are three typical examples of the distributed load balancing schemes. Unfortunately, the distributed load balancing schemes mentioned above might not reflect the entire traffic load distribution because they only use the local traffic information. In [3], agent-based load balancing routing for LEO satellite networks is proposed. In this paper, the geographic position of each satellite in the satellite networks is taken into account to evaluate routing path cost. But the algorithm proposed in this paper can not monitor network traffic in real time.

Herein, this paper introduces a load balancing routing algorithm based on congestion prediction (LBRA-CP) for the sake of realizing a better load balancing over the entire LEO satellite networks. In consideration of driving the traffic towards non-hot spot zones in real time and restraining the concentrations of traffic load on ISLs before congestion occurs, a multi-objective optimization model is designed to find a path with the minimum path cost under the constraints of ISL state and transmission delay. Furthermore, ant colony optimization (ACO) method is used to seek an optimal path for every connection request, since ACO not only has a strong ability to gain better solutions for combinatorial optimization problem [7] but also has been successfully applied to solve the routing problem in LEO satellite networks [8].

Fig. 1
figure 1

The system architecture

The rest of the paper is structured as follows. The system model and QoS goal are presented in Sect. 2. The principle of the algorithm is illustrated in Sect. 3. In Sect. 4 simulation results are presented and discussed, while concluding remarks are drawn in Sect. 5.

2 System model and QoS goal

2.1 System model

Figure 1 highlights the system architecture, which is consist of LEO satellite networks, gateway earth station (GES) and satellite user. A Walker constellation with ISLs forms the LEO satellite networks and this constellation can provide a global space-based communication service. Walker constellation can be expressed as \(\theta :N/B/F\)[3], where \(\theta \) is the inclination of orbital planes, B is the total planes and each orbit consists of S satellites, F is the phasing factor. The satellite is numbered from 1 toN, and the serial number of the ith (\(i\in [1,S])\) satellite in the jth (\(j\in [1,P])\) orbit is equal to \((j-1)\times S+i\). There are two types of ISLs in this constellation: intraplane ISLs and interplane ISLs. Intraplane ISLs refer to links to the adjacent satellites in the same orbital plane and interplane ISLs refer to links to the neighboring satellites in the right-hand and left-hand orbital planes.

2.2 QoS goal

2.2.1 Path cost metric

(1) ISL cost metric

In this subsection, we firstly introduce ISL cost metric before delving into path cost metric. There are three main metrics to calculate the ISL cost. One that takes only hop number [9] or propagation delay [10] into account. The third one is based on the total end-to-end delay, which is the sum of queueing delays and propagation delays [11].

In this paper, ISL cost metric is calculated by the total end-to-end delay. As is shown in Eq. (1), the ISL cost function is based on the sum of queueing delay and propagation delay.

$$\begin{aligned} \hbox {ISL}cost_{ij} (t)=PD_{ij} (t)+QD_{ij} (t) \end{aligned}$$
(1)

ISL\({cost}_{ij}(t)\) is the ISL cost of link(ij) at moment t, \({PD}_{ij}(t)\) and \({QD}_{ij}(t)\) are the propagation delay and queueing delay of link(ij) at moment t respectively. \({PD}_{ij}\) (t) equals to the length of link(ij) at moment t divided by the speed of light. As for \({QD}_{ij}(t)\), the method proposed in [3] is considered.

(2) Path cost

Most hot spots are within the scope of \(50^{\circ }\hbox {N}\) according to [3]. That is, satellites covering the area from \(0^{\circ }\hbox {N}\) to \(50^{\circ }\hbox {N}\) are usually congested while others are underutilized. Geographical position of satellite is considered to calculate path cost so as to drive traffic towards non-hot spot zones.

Assume \(lat_i (t)\) is the latitude of satellite i at moment t. Cost modifying factor of link (ij), \(\lambda _{ij}(t)\), is defined as

$$\begin{aligned} \lambda _{ij} (t)=\left\{ {\begin{array}{l} 1 \quad \qquad \qquad \qquad if\;i=s \\ e^{\left| {lat_i (t)} \right| /90}\;\;\;\quad if\;(0<lat_i (t)<50)\wedge \;(i\ne s) \\ e^{-\left| {lat_i (t)} \right| /90} \quad otherwise \\ \end{array}} \right. \end{aligned}$$
(2)

The path connecting source satellite s and destination satellite d comprises many satellites and ISLs. So, the cost of the path can be evaluated as total sum of ISL cost. Moreover, ISL cost modification factor is taken into account to adjust path cost. Suppose P(sd) denotes a path on which a connection request starts from the source satellite s, passes through a number of intermediate nodes, and goes to the destination satellite d. \({Cost}_{sd}(t)\) means the total cost of P(sd) at moment t. So \({Cost}_{sd}(t)\) can be represented as

$$\begin{aligned} Cost_{sd} (t)=\sum _{\begin{array}{l} i\in P(s,d) \\ j\in P(s,d) \\ \end{array}} {\lambda _{ij} (t)\times \hbox {ISL}cost_{ij} (t)} \end{aligned}$$
(3)
Fig. 2
figure 2

The conditions for recording and cancelling the congestion areas

2.2.2 Congestion prediction

How congestion prediction works is described in this part. Above all, the concept of congestion region is given. As mentioned in [3], satellites serving urban areas dense with users are more likely to be congested than satellites covering rural areas. Hence, these areas are called congestion areas. The satellites seek out the congestion areas and share the information of their position to predict congestion. According to [12], when the satellite detects a congestion area, its current coordinate is stored as the information of the congested area. A congestion area is defined as a circle area within a certain distance from a stored coordinate. The radius of a congestion area is determined in accordance with the parameters of the LEO satellite constellation. The conditions for recording and cancelling the congestion areas is illustrated in Fig. 2.

As is shown in Fig. 2, the Exponentially Weighted Moving Averages (EWMA) of bandwidth utilization of an output ISL from satellite i to next node j at moment t, denoted by \(I_{ij}^{\hbox {EWMA}} (t)\), is given. Each satellite measures \(I_{ij}^{\hbox {EWMA}} (t)\) of its output ISLs at a regular interval \(\Delta t\). When the current time t equals to an integral multiple of the regular interval \(\Delta t\), each satellite calculates \(I_{ij}^{\hbox {EWMA}} (t)\) according to (4).

$$\begin{aligned} I_{ij}^{\hbox {EWMA}}(t)=\gamma .I_{ij}^{EWMA}(t-\Delta t)+(1-\gamma ).I_{ij}(t). \end{aligned}$$
(4)

Here, \({\gamma (0<\gamma <1)}\) is a constant weighting coefficient. \(I_{ij}^{\hbox {EWMA}} (t-\Delta t)\) is the EWMA of bandwidth utilization on link(ij) at last interval \(t-\Delta t. I_{ij} (t)\) is the bandwidth utilization of link (ij) at moment t. Suppose \(BW_{ij} (t)\) is the actual bandwidth usage of link (ij) and BW is the bandwidth of inter-satellite links. \(I_{ij} (t)\) can be calculated by (5).

$$\begin{aligned} I_{ij} (t)=\frac{BW_{ij} (t)}{BW} \end{aligned}$$
(5)

In this end, the state transition conditions for the ISLs are described. As is shown in Fig. 2, every ISL of a satellite has two states: Normal State (NS) and Emergency State (ES). NS means the ISL can be used but ES indicates the ISL can not be used. According to the relative position between the satellite and congestion areas, it can be divided into two cases: the satellite outside the congestion area and the satellite inside the congestion area. The initial state of each output ISL is marked as NS. When \(I_{ij}^{\hbox {EWMA}} (t)\) exceeds the threshold \({\varepsilon (0<\varepsilon <1)}\) outside the congestion areas, link (ij) is considered to be in ES, as well as a new congestion area is detected. The satellite records the information of the new congestion area and shares the information of the position to its neighboring satellites. As a result, the adjacent satellites, which go through this congestion area, can be caution about congestion in advance without detecting the area. When the satellite is inside the congestion area and \(I_{ij}^{\hbox {EWMA}} (t)\) is greater than the threshold \(\mu (0<\mu <1)\), link (ij) is deemed to be in ES. On the contrary, when the satellite is inside the congestion area and \(I_{ij}^{\hbox {EWMA}} (t)\) is inferior to the threshold \(\nu (0<\nu <1)\), the state of link (ij) is back to NS and the congestion area is cancelled. The value of the three thresholds satisfy \(\varepsilon>\mu >\nu \), so as to make a quick response to the changing of the traffic load and inhibit the traffic load from increasing inside the congestion area.

Fig. 3
figure 3

The mechanism of LBRA-CP

2.2.3 The multi-objective optimization model

The ISL state at the moment t is denoted by \(\hbox {State}_{ij}(t)\). \(\hbox {State}_{ij}(t)\) has two values: 1 and 0, which indicates that the state of link(ij) is ES and NS respectively. Considering the constraints of transmission delay as well as ISL state, a multi-objective optimization model for the routing problem with load balancing in LEO satellite networks is designed. The objective of this model is to seek out an optimal path with the minimum path cost for every source-to-destination connection request under the above constraints. Thus, the optimization model is described as

$$\begin{aligned} \begin{array}{l} \hbox {Minimize}:\;Cost_{sd} (t) \\ \hbox {Subject}\;\hbox {to}\;\;\sum \limits _{\begin{array}{l} i\in P(s,d) \\ j\in P(s,d) \\ \end{array}} {TD_{ij} (t)\le TD_{th} } \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\forall \mathop {link(i,j)}\limits _{\begin{array}{l} i\in P(s,d) \\ j\in P(s,d) \\ \end{array}} \;State_{ij} (t)=0 \\ \end{array} \end{aligned}$$
(6)

In (6), \({TD}_{ij}(t)\) refers to the transmission delay of link(ij) at time t, and it is the sum of \({PD}_{ij}(t)\) and \({QD}_{ij}(t)\). The first constraint condition represents the transmission delay of P(sd) should be less than the threshold TD\(_{th}\), so as to ensure the QoS requirements for applications. \({TD}_{th}\) is the maximum transmission delay that the real-time transmission service can tolerant in the LEO satellite networks. The second constrant condition means that the state of each ISL on P(sd), denoted by \({State}_{ij}(t)\), should be NS in order to suppress the concentrations of traffic load on ISLs before congestion occurs.

3 The mechanism of LBRA-CP

Applying ant-colony algorithm into solving the routing problem in communication networks is feasible. The mechanism of LBRA-CP is shown in Fig. 3.

As is shown in Fig. 3, The algorithm LBRA-CP contains two kinds of ants: forward ants and backward ants. The forward ants go through the satellite networks and in charge of collecting routing information and the backward ants are in charge of updating the routing table. In the satellite node, Path Cost Calculation module is in charge of calculate the path cost. As previously mentioned, the path cost is not only the sum of ISL cost, but also modified by the satellite position information, so that the path cost is large when passing through hot spot zones and the traffic is driven towards non-hot spot zones. Congestion Prediction module is responsible for monitoring the ISL state constantly, and the ISL with heavy traffic load should be avoided in establishing the path, so as to restrain the concentrations of traffic load on ISLs before congestion occurs. The result is as the input of Ant Colony Algorithm module. The probability that data packets is sent to adjacent satellite nodes can be calculated by this module. Finally, Routing Table module saves the value.

3.1 Routing table structure

In order to make full use of the ant-colony algorithm into the LEO satellite networks, LBRA-CP uses probability table to play the role of the routing table [13]. The probability table has the same meaning as the pheromone table in ant colony algorithm, and gives the probability of selecting the next hop when the destination satellite node is given. The probability table will be refreshed periodically.

Table 1 shows the structure of the routing table. Adjacent, destination and probability consist the three entries of the routing table. Suppose satellite node i is the node that data packets are passing, the adjacent entry indicates the satellite nodes that are adjacent to satellite node i and the destination entry stands for the destination satellite node. When data packets are at satellite node i, the probability to choose the next node j is denoted by (\(p_{ijd})_{data }\)on the condition that destination d is given. The probability entry indicates this meaning.

Table 1 shows the guidelines the intermediate satellite will forward the data packets which are sent from the source satellite.

Table 1 The routing table structure

3.2 Forward ant behavior

LBRA-CP launches a forward ant \(F_{s\rightarrow d} \) at source satellite node s toward destination satellite node d at the regular interval \(\Delta \hbox {t}\). The change of the satellite network topology has the feature of periodicity. Therefore, the next hop near the destination node d will have a large probability to be selected. When the forward ant is located at node s, the probability that the next hop j to be chosen can be calculated according to Eq. (7).

$$\begin{aligned} (p_{sjd} )_{ant} =\left\{ {\begin{array}{l} \frac{1/\hbox {Hop}_{jd} }{\sum \limits _{j\in M} {1/\hbox {Hop}_{jd} } }\;\;\;in\;the\;case\;that\;d\;is\;not\;adjcent\;to\;s \\ \frac{1}{M}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;other\;cases \\ \end{array}} \right. \end{aligned}$$
(7)

As is shown in Eq. (7), the forward ant chooses the next hop in an equal probability manner when destination satellite d is adjacent to satellite s. In Eq. (7), M stands for the set of satellite nodes that are adjacent to satellite node s. Hop\(_{jd}\) is the minimum number of hops from node j to node d. For each forward ant, there are two lists in it. The list \(T_{v_0 \rightarrow v_m } =[T_{v_0 \rightarrow v_1 } ,\;T_{v_1 \rightarrow v_2 } ,\;...,\;T_{v_{m-1} \rightarrow v_m } ]\) maintains the time the forward ant passes each node and the list \(V_{v_0 \rightarrow v_m } =[v_0 ,\;v_1 ,\;...,\;v_m ]\) stands for the set of satellite nodes the forward ant passes.

When the forward ant is located at intermediate node i, the pseudo-random proportion selection rule is made use of to choose the next hop [14]. This strategy combines deterministic rules with random selection. Equation (8) calculates the probability the forward ant k to choose the next node j when it is located at intermediate node i.

$$\begin{aligned} (p_{ijd} )_{ant} =\left\{ {\begin{array}{l} \frac{(p_{ijd} )_{data} }{\sum \limits _{j\in table_k } {(p_{ijd} )_{data} } } \quad if(q\le q_0 ) \\ 1/Q \quad else \\ \end{array}} \right. \end{aligned}$$
(8)

In (8), q is a random number and it is even distribution in (0,1). \(q_{0}\) satisfies the condition \(0{<}q_{0}{<}1\) and its size reflects the relative importance of exploring the new path and using prior knowledge. \({table}_{k}\) stands for the set of the next node that ant k can choose. Q stands for the number of elements in \({table}_{k}\). The reason that LBRA-CP sets \({table}_{k}\) is to avoid routing loops.

A forward ant will be blocked if one of the two conditions in the following is satisfied: (1) the forward ant does not find an available next node; (2) the forward ant detects a loop on its path.

3.3 Backward ant behavior

The backward ant \(B_{d\rightarrow s} \) is created at the moment that the forward ant \(F_{s\rightarrow d} \) reaches the destination. After that \(F_{s\rightarrow d} \) is terminated, \(B_{d\rightarrow s} \) obtains the information of the two lists from \(F_{s\rightarrow d} \) and return to satellite node s along the original path. The probability entry is updated when \(B_{d\rightarrow s} \) passes each satellite node.

In Fig. 3, suppose that one backward ant moves from satellite node j to satellite node i. In LBRA-CP, we suppose that the number of ports accords with the number of links. The pheromone of the link(ij) is increased when the original ant-colony algorithm is made use of. Suppose that \(M_{1}\) is the set of satellite nodes that are adjacent to satellite node i and r is an element in set \(M_{1}\). In LBRA-CP, the set P is defined as

$$\begin{aligned} P=\{r,\; State_{ir} (t)=0,\;r\ne j,\;r\in M_1 \} \end{aligned}$$
(9)

As is shown in (9), P stands for the set of satellite nodes that satisfies \({State}_{ir}(t)=0\) and \(j \notin P\).

Suppose that \(h\in P\) and h satisfies:

$$\begin{aligned} h\in P\cap cost_{ih} =\min \{cost_{ir} ,r\in P\} \end{aligned}$$
(10)

When data packets are choosing the next hop, the probability is calculated according to Eqs. (11) and (13). LBRA-CP makes use of \(T_{update}\) to refer to the routing table update interval. c is the number of backward ants arriving at one satellite node during \(T_{update}\) and c is another expression of time advancing. The value of c in Eqs. (11) and (13) makes zero at regular interval.

$$\begin{aligned}&(P_{ijd} )_{data} =\left\{ {\begin{array}{l} \rho \times (P_{ijd} )_{data} \left| {_c } \right. +(1-\rho )\;\;State_{ij} \left| {_c } \right. =0 \\ \rho \times (P_{ijd} )_{data} \left| {_c } \right. \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;State_{ij} \left| {_c } \right. =1\; \\ \end{array}} \right. \end{aligned}$$
(11)
$$\begin{aligned}&(P_{ijd} )_{data} \left| {_{c=0} } \right. =\frac{1/\hbox {Hop}_{jd} }{\sum \limits _{j\in M_1 } {1/\hbox {Hop}_{jd} } }\;(j\ne d) \end{aligned}$$
(12)
$$\begin{aligned}&\left( {\mathop {P_{ird} }\limits _{r\ne j} } \right) _{data} \left| {_{c+1} } \right. =\nonumber \\&\quad \left\{ {\begin{array}{l} \rho \times (P_{ird} )_{data} \left| {_c } \right. +(1-\rho )\;\;\;State_{ij} \left| {_c } \right. =1\cap r=h \\ \rho \times (P_{ird} )_{data} \left| {_c } \right. \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;State_{ij} \left| {_c } \right. =1\cap r\in P\cap r\ne h \\ \rho \times (P_{ird} )_{data} \left| {_c } \right. \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;State_{ij} \left| {_c } \right. =1\cap r\notin P \\ \rho \times (P_{ird} )_{data} \left| {_c } \right. \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;State_{ij} \left| {_c } \right. =0\;\;\;\;\;\;\;\;\;\;\;\;\; \\ \end{array}} \right. \nonumber \\ \end{aligned}$$
(13)
$$\begin{aligned}&\left( {\mathop {P_{ird} }\limits _{r\ne j} } \right) _{data} \left| {_{c=0} } \right. =\frac{1/Hop_{rd} }{\sum \limits _{r\in M_1 } {1/Hop_{rd} } }\;(r\ne d) \end{aligned}$$
(14)

In (11) and (13), \(\rho \) is the pheromone evaporation coefficient. Moreover, the value of \(\rho \) is discussed in this paper in order to make sure that data packets will choose the link satisfying the condition that the probability is strengthen.

Suppose that \(P_{1}\) and \(P_{2}\) stand for the probability for data packets to choose link (ij) and link (il) respectively at the time satellite node i receives the cth backward ant. When the (\(c~+~1\))th backward ant arrives at node i, the value of (\(p_{ijd})_{data}\) is strengthen. So according to (11) and (13),

$$\begin{aligned}&(P_{ijd} )_{data} \left| {_{c+1} } \right. =\rho \times P_1 +(1-\rho ) \end{aligned}$$
(15)
$$\begin{aligned}&(P_{ild} )_{data} \left| {_{c+1} } \right. =\rho \times P_2 \end{aligned}$$
(16)

The conditions shown in (17) should be satisfied in order to ensure that data packets will choose the link that its probability is strengthen.

$$\begin{aligned} \rho \times P_1 +(1-\rho )>\rho \times P_2 \end{aligned}$$
(17)

That is,

$$\begin{aligned} \left( {\frac{1-\rho }{\rho }} \right) >\left| {P_2 -P_1 } \right| \end{aligned}$$
(18)

If \(\frac{1-\rho }{\rho }\) satisfies \(\frac{1-\rho }{\rho }\ge 1\), Eq. (18) can hold up no matter what the value of \(P_{1}\) and \(P_{2}\) is. \(\frac{1-\rho }{\rho }\ge 1\) is equivalent to \(\rho \le 0.5\). That is, if the value of \(\rho \) satisfies \(\rho \le 0.5\), the data packets will choose the link that its probability is strengthen.

3.4 Data transmission

When a connection request arrives at source satellite, a path will be established. A route is firstly determined. At the source node, the node with the highest probability in the routing table among the available neighboring satellites will be selected as the next hop. At the next node, the same rule will be applied until the destination node is found. In addition, the handovers occur between the satellite and the terminal users because the satellite is in constant motion. In that case, the connection is completely rerouted.

4 Simulation results

In this subsection, the performance of LBRA-CP is investigated. All the simulations were performed with the simulation tool OPNET 14.5 on core I3 processor (3.3 GHz clock). OPNET simulator has three logical levels: network level (a LEO satellite system has been considered, together with Satellite Terminals), Node Level (consisting of all the algorithms of the protocol stack), and Process Level (Finite State Machine (FSM) developed in C that implement the proposed algorithms and the associated protocols). Fig. 4 shows the simulation scenarios.

Fig. 4
figure 4

The simulation scenarios

Table 2 gives the simulation parameters.

In LBRA-CP, earth stations were distributed according to the hot spot zones described in [15] and traffic inserted into the network was generated by these stations. The performance of LBRA-CP is studied by varying the number of terminal users. The algorithm proposed in Refs. [3] is chosen in this subsection to compare with LBRA-CP. The reason is described as follows.

In Ref. [3], an agent-based load balancing routing (ALBR) for LEO satellite networks is proposed. In ALBR, mobile agents search the feasible paths and other useful information, which is like ants in ant-colony system migrate from one node to an adjacent node between source and destination. Moreover, ALBR evaluates path cost considering satellite geographical position as well as ISL cost and finally update routing items.

In this section, we first compare the performance of the receiver’s throughput when LBRA-CP and ALBR are utilized in the satellite networks. Figure 5 shows the comparison.

Table 2 Simulation parameters
Fig. 5
figure 5

The throughput comparison between LBRA-CP and ALBR

It can be seen from Fig. 5 that when LBRA-CP is utilized in the satellite networks, the throughput of the receiver is higher. The reason is that LBRA-CP not only amends the path cost by modifying factor but also adopts congestion prediction to foresee the congestion in advance. When establishing a connection request, a path that avoids ISL in ES and passes through non-hot spot zones will be selected. Consequently, the traffic load is efficiently and fairly distributed among the entire network and the network can carry more service. Comparing with LBRA-CP, the throughput is about 7.05% higher when LBRA-CP is made use of.

The performance of average link utilization when LBRA-CP and ALBR are respectively used in the LEO satellite networks is also studied in the subsection. Equation (19) shows the method how the average link utilization is calculated.

$$\begin{aligned} link\_utilization=\frac{\sum \limits _{i=1}^H {\sum \limits _{j=1}^4 {S_{ij} } } }{4\times R\times 1\times 10^{7}} \end{aligned}$$
(19)

In (19), R is the number of satellites the whole constellation contains. \(S_{ij}\) is the actual transmission rate of satellite node i for the j-th port. The value of R is 66 because an Iridium-like satellite constellation is considered in this paper. Figure 6 shows the comparison.

Fig. 6
figure 6

The link utilization comparison between LBRA-CP and ALBR

Because LBRA-CP adopts congestion prediction to foresee the congestion in advance, it can select a path that avoids ISL in ES and passes through non-hot spot zones. From Fig. 5 we can see that LBRA-CP can improve the throughput of the networks. So comparing with ALBR, the link utilization is 7.84% higher when LBRA-CP is used.

Figure 7 gives the average end-to-end delay when LBRA-CP and ALBR are used in the satellite networks.

Fig. 7
figure 7

The average end-to-end delay comparison between LBRA-CP and ALBR

It can be seen from Fig. 7 that the end-to-end delay is a little larger when LBRA-CP is utilized in the satellite networks. This is reasonable because LBRA-CP adopts congestion prediction to foresee the congestion in advance, so LBRA-CP may go through more hops to avoid congestion, these routes experience longer delay compared to the paths computed by ALBR. However, the delay constraint is defined in the process of path selection for the two algorithms, so we can see from Fig. 7 that the end-to-end delay is less than 400 ms when LBRA-CP or ALBR is utilized, which meets the basic requirement for video transmission [16].

5 Conclusion

In this paper, LBRA-CP is firstly put forward for the sake of realizing an effective load balancing over the entire LEO satellite networks. A multi-objective optimization model is designed, which adopts modifying factor to adjust path cost as well as utilizes congestion prediction to foresee ISL congestion. The objective of this model is to establish an optimal path, which has the minimum path cost with the constraints of ISL state and transmission delay. The ACO is utilized to solve the optimization model. The forward ants avoid the ISLs in ES as well as gather satellite latitude and transmission delay in finding a path for the connection request. The backward ants enhance the pheromone concentrations on the iteration-best path. Thirdly, LBRA-CP was compared with ALBR. The simulation tool OPNET has been adopted in this paper. The performance of the receiver’s throughput, link utilization and the end-to-end delay of the network was compared respectively. Simulation results show that LBRA-CP has a better performance in the receiver’s throughput and link utilization. Moreover, because LBRA-CP and ALBR consider the transmission delay constraint, the delay is less than 400 ms. This meets the basic requirement for video transmission. To conclude, LBRA-CP is promising in LEO satellite networks.